package com.zwps.biz.api.enums;

public enum FileTypeEnum {
    /**
     * 法律文档
     */
    LAW(1, "法律文档"),

    /**
     * 法规文档
     */
    REGULATION(3, "法规文档"),

    /**
     * 地方性法规文档
     */
    LOCAL_REGULATION(4, "法律培训记录");

    private final int code;
    private final String description;

    /**
     * 构造函数
     * @param code 类型代码
     * @param description 类型描述
     */
    FileTypeEnum(int code, String description) {
        this.code = code;
        this.description = description;
    }

    /**
     * 获取类型代码
     * @return 类型代码
     */
    public int getCode() {
        return code;
    }

    /**
     * 获取类型描述
     * @return 类型描述
     */
    public String getDescription() {
        return description;
    }

    /**
     * 根据代码获取枚举实例
     * @param code 类型代码
     * @return 对应的枚举实例
     * @throws IllegalArgumentException 如果找不到对应的枚举值
     */
    public static FileTypeEnum getByCode(int code) {
        for (FileTypeEnum type : values()) {
            if (type.code == code) {
                return type;
            }
        }
        throw new IllegalArgumentException("无效的法律文档类型代码: " + code);
    }
}
